package com.itfreer.file.service;

import java.util.List;

/**
 * 定义文件块存储接口
 */
public interface IBucketManageService {
	
	/**
	 * 创建文件存储块
	 * @param bucketName
	 */
	void createBucket(String bucketName);
	
	/**
	 * 列举Bucket
	 * @param prefix  限定返回的bucket name必须以prefix作为前缀，可以不设定，不设定时不过滤前缀信息
	 * @param marker  设定结果从marker之后按字母排序的第一个开始返回，可以不设定，不设定时从头开始返回
	 * @param maxKeys 限定此次返回bucket的最大数，如果不设定，默认为100，max-keys取值不能大于1000
	 * @return
	 */
	List<String> listBuckets(String prefix, String marker, Integer maxKeys);
	
	/**
	 * 删除文件存储块
	 * @param bucketName
	 */
	void deleteBucket(String bucketName);
	
	/**
	 * 文件存储块是否存在
	 * @param bucketName
	 */
	boolean doesBucketExist(String bucketName);
}
